package com.yang.common.util;

import com.yang.common.enums.MobileOperatorEnum;

import java.util.HashMap;
import java.util.Map;

/**
 * @author yangyongsheng
 * @date 2024/9/2 23:33
 * @description 这样封装是为了方便后期维护
 * 设计工具类：成员变量和方法都用static修饰
 * 作用
 *  1.所有调用工具类共享成员变量
 *  2.方法和变量可以在没有实例的情况下访问。（成员变量一般都是私有的，提供对应的getter和setter方法即可）
 */
public class OperatorUtil {

    private static Map<String, Integer> operators = new HashMap<>();

    //静态代码块对成员变量进行初始化
    static {
        MobileOperatorEnum[] operatorEnums = MobileOperatorEnum.values();
        for (MobileOperatorEnum operatorEnum : operatorEnums) {
            operators.put(operatorEnum.getOperatorName(),operatorEnum.getOperatorId());
        }
    }

    //提供get方法

    /**
     * 根据运营商名称获取运营商ID
     * @param operatorName
     * @return
     */
    public static Integer getOperatorIdByOperatorName(String operatorName){
        return operators.get(operatorName);
    }
}
